package com.jc.order.service;

import com.github.pagehelper.PageInfo;
import com.jc.order.dto.EciCustomerQuotaApplyDTO;
import com.jc.order.dto.Query;

import java.util.List;
import java.util.Map;

public interface EciCustomerQuotaApplyService {




    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    EciCustomerQuotaApplyDTO queryById(Long id,Long tenantId);



    /**
     * 分页查询
     * @param query 分页对象
     * @return 查询结果
     */
    PageInfo<EciCustomerQuotaApplyDTO> paginQuery(Query query);










    /**
     * 新增限额申请
     * @param dto
     * @return
     */
    EciCustomerQuotaApplyDTO createQuotaApply(EciCustomerQuotaApplyDTO dto);

    /**
     * 更新限额申请
     * @param dto
     * @return
     */
    Boolean updateQuotaApply( EciCustomerQuotaApplyDTO dto);

    /**
     * 查询限额申请
     * @param corpSerialNo 流水号
     * @param tenantId 客户id
     * @return
     */
    EciCustomerQuotaApplyDTO getBySerialNo(String corpSerialNo, Long tenantId);

    /**
     * 查询限额申请
     * @param corpSerialNoList 流水号
     * @param tenantId 客户id
     * @return
     */
    List<EciCustomerQuotaApplyDTO> getBySerialNoList(List<String> corpSerialNoList, Long tenantId);



    /**
     * 查询限额申请
     * @param compName 流水号
     * @param tenantId 客户id
     * @return
     */
    EciCustomerQuotaApplyDTO getByCompName(String compName, Long tenantId);

    /**
     * 查询限额申请
     * @param riskMark 买方注册号
     * @param tenantId 客户id
     * @return
     */
    EciCustomerQuotaApplyDTO getByRiskMark(String riskMark, Long tenantId);



    /**
     * @return
     */
    List<EciCustomerQuotaApplyDTO> getByDTO(EciCustomerQuotaApplyDTO dto);





    // 新增批量查询方法
    Map<String, EciCustomerQuotaApplyDTO> getByCompNames(List<String> compNames);

    // 新增批量更新方法
    void batchUpdate(List<EciCustomerQuotaApplyDTO> list);



}
